/**
 * 系统平台
 * moonvip_admin
 * com.tz.dao.permission
 * IPermissionMapper.java
 * 创建人:小胡 
 *
 *
 */
package com.tz.dao.permission;

import com.tz.bean.Permission;
import com.tz.bean.TzParams;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 权限管理Mapper
 * IPermissionMapper
 * 创建人:小胡 
 * 时间：2016年11月19日 17:05:29
 * @version 1.0.0
 * 
 */
public interface IPermissionMapper {

	/**
	 *
	 * com.tz.dao.permission 
	 * 方法名：findPermissions
	 * 创建人：hufanglei
	 * 手机号码:15166195973
	 * 时间：2016年03月17日 12:30:43
	 * @param params
	 * @return
	 * 返回类型：List<Permission>
	 * @exception
	 * @since  1.0.0
	 */
	public List<Permission> findPermissionRoot(TzParams params);

	public List<Permission> findPermissionChildren(@Param("id")Integer id);


	/**
	 * 求总数
	 * com.tz.dao.permission
	 * 方法名：count
	 * 创建人：小胡
	 * 手机号码:15074816437
	 * 时间：2016年11月19日 17:05:29
	 * @param params
	 * @return
	 * 返回类型：int
	 * @exception
	 * @since  1.0.0
	 */
	public int count(TzParams params);

	
	/**
	 * 
	 * com.tz.dao.permission 
	 * 方法名：getPermission
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年11月19日 17:05:29
	 * @param id
	 * @return 
	 * 返回类型：List<Permission>
	 * @exception 
	 * @since  1.0.0
	 */
	public Permission getPermission(Integer id);
	
	/**
	 * 保存权限管理
	 * com.tz.dao.permission 
	 * 方法名：save
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年11月19日 17:05:29
	 * @param permission
	 * @return 
	 * 返回类型：Permission
	 * @exception 
	 * @since  1.0.0
	 */
	public int save(Permission permission);
	
	/**
	 * 更新权限管理
	 * com.tz.dao.permission 
	 * 方法名：update
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年11月19日 17:05:29
	 * @param permission
	 * @return 
	 * 返回类型：int
	 * @exception 
	 * @since  1.0.0
	 */
	public int update(Permission permission);
	
	/**
	 * 删除权限管理
	 * com.tz.dao.permission 
	 * 方法名：delete
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年11月19日 17:05:29 
	 * @param id
	 * @return 
	 * 返回类型：int
	 * @exception 
	 * @since  1.0.0
	 */
	public int delete(Integer id);

	Integer getPidById(Integer id);

	Integer[] getChildsById(Integer pid);

	Permission getRecordById(Integer id);
	
}
